<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>

<div id="div1">
    js正则 为 网页轻校验而生, 能过滤一点是一点;

</div>

<div>

    格式: let expression = /pattern(模式)/flags(标记);  对象必须以 /开始

    <ul>
        <li> 模式: 正则表达式主体</li>
        <li>标记: 修饰符(可选)</li>
    </ul>

</div>


<a href="https://www.w3school.com.cn/jsref/jsref_obj_regexp.asp">不会就去找文档</a>

<script type="text/javascript">


    /**
     * 正则表达式是基于字符串的,   所以部分 API 整合到字符串 对象上 ;
     *  字符串搜索:      index = str.search(regObj);
     *
     * */
    function str_search() {

        let regObj = /HelloWorld/i; //i  是一个修饰符 (搜索不区分大小写)
        console.log(typeof regObj);
        let str = "can you  say  HelloWorld?";
        //字符串的 search( reg  ) 方法 , 检索与正则表达式相匹配的子字符串，并返回子串的起始位置
        let index = str.search(regObj);
        console.log("HelloWorld 所在字符串 " + str + "的位置是" + index);
        return index;
    }

    console.log(str_search());




    /**
     * 字符串替换:  str = javaStr.replace(reg, "js");
     * */
    function str_replace(){

        let javaStr = "hello java";
        let reg = /Java/i;
        javaStr = javaStr.replace(reg, "js");
        console.log(javaStr);
        return javaStr;
    }

    console.log(str_replace());


    /**
     * 正则表达式对象RegExp  的 test()方法;
     * 接收一个字符串参数。如果输入的文本与模式匹配，则参数返回true，否则返回false。
     *
     * 说明, 这个用于比较复杂的字符串;
     *
     * */
    function reg_test(){
        let  reg = /java/i;
        let  str = "Java 天下第一";
        let  isMatch = reg.test(str);
        console.log("Java 是否在["+  str +"] Match?  " + isMatch);
    }
    reg_test();




</script>


</body>
</html>
